/**
 * @file sys.h
 * @brief 系统定时器和延时函数
 * @date 2025-11-03
 */

#ifndef __SYS_H__
#define __SYS_H__

#ifdef __cplusplus
extern "C" {
#endif

/* Includes ------------------------------------------------------------------*/
#include <stdint.h>

/* Exported functions prototypes ---------------------------------------------*/

/**
 * @brief 初始化系统定时器(TIM1)
 * @note 保留函数，新版 delay_us 自动启动/停止定时器
 */
void sys_init(void);

/**
 * @brief 启动系统定时器 (TIM17 1ms中断)
 * @note 用于MIDI状态机周期性任务
 */
void sys_timer_start(void);

/**
 * @brief 微秒延时
 * @param us 延时时间(微秒)
 * @note 最大延时 65530us (约 65ms)
 */
void delay_us(uint32_t us);

/**
 * @brief 毫秒延时
 * @param ms 延时时间(毫秒)
 * @note 内部循环调用 delay_us(1000)
 */
void delay_ms(uint32_t ms);

#ifdef __cplusplus
}
#endif

#endif /* __SYS_H__ */

/******************************** 文件结束 *********************************/
